// Copyright (c) 2006 Zorm
// Released under the MIT License

#ifndef ATH_H
#define ATH_H
#pragma once

class ATH {

public:
	static ATH *Instance();
	MainWindow *GetMainWindow() { return mainWindow; }
	Log *GetLog() { return log; }
	Config *GetConfig() { return config; }
	GLContext *GetGLContext() { return glcontext; }
	RadarInformation *GetRadarInfo() { return radarInfo; }
	void SetMainWindow(HINSTANCE instance) { mainWindow = new MainWindow(instance); }
	void GLInit() { glcontext = new GLContext(mainWindow->GetStaticHWND()); }
	void CleanUp() { delete this; }
	
private:
	ATH();
	~ATH();
	static ATH *instance;
	MainWindow *mainWindow;
	Log *log;
	Config *config;
	GLContext *glcontext;
	RadarInformation *radarInfo;

};

#endif